package com.bondex.charter.po;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.v3.oas.annotations.media.Schema;

import java.math.BigDecimal;
import java.util.Date;

@JsonIgnoreProperties(ignoreUnknown = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
public class CharterSiSaveVO {

    @Schema(description = "委托号")
    private String orderNo;

    @Schema(description = "截单号")
    private String siNo;

    @Schema(description = "提单号")
    private String blNo;

    @Schema(description = "客户号")
    private String customerNo;

    @Schema(description = "发货人")
    private String shipper;

    @Schema(description = "收货人")
    private String consignee;

    @Schema(description = "通知人")
    private String notify;

    @Schema(description = "操作备注")
    private String opRemark;

    @Schema(description = "扩展信息 暂时只保存押金和卖价信息")
    private Object extendInfo;

    @Schema(description = "收货地代码")
    private String placeOfReceiptCode;

    @Schema(description = "收货地名称")
    private String placeOfReceiptName;

    @Schema(description = "装货港代码")
    private String portOfLoadingCode;

    @Schema(description = "装货港名称")
    private String portOfLoadingName;

    @Schema(description = "中转港代码")
    private String portOfTransshipmentCode;

    @Schema(description = "中转港名称")
    private String portOfTransshipmentName;

    @Schema(description = "卸货港代码")
    private String portOfDischargeCode;

    @Schema(description = "卸货港名称")
    private String portOfDischargeName;

    @Schema(description = "目的港代码")
    private String placeOfDeliveryCode;

    @Schema(description = "目的港名称")
    private String placeOfDeliveryName;

    @Schema(description = "交货地代码")
    private String destinationCode;

    @Schema(description = "交货地名称")
    private String destinationName;

    @Schema(description = "件数")
    private Long noOfPackage;

    @Schema(description = "包装方式代码")
    private String packageTypeCode;

    @Schema(description = "包装方式名称")
    private String packageTypeName;

    @Schema(description = "毛重")
    private BigDecimal grossWeight;

    @Schema(description = "体积")
    private BigDecimal volume;

//    @Schema(description = "轻重货标志。 0 普货； 1 重货； 2 轻货")
//    private Byte bulkyHeavyFlag;

    @Schema(description = "唛头")
    private String marksNo;

    @Schema(description = "品名")
    private String description;

    @Schema(description = "HS CODE")
    private String hsCode;

    @Schema(description = "运输条款代码")
    private String deliveryTermCode;

    @Schema(description = "运输条款名称")
    private String deliveryTermName;

    @Schema(description = "付款方式代码")
    private String paymentMethodCode;

    @Schema(description = "付款方式名称")
    private String paymentMethodName;

    @Schema(description = "付款地代码")
    private String placeOfPayCode;

    @Schema(description = "付款地名称")
    private String placeOfPayName;

    @Schema(description = "签单方式代码")
    private String documentTypeCode;

    @Schema(description = "签单方式名称")
    private String documentTypeName;

    @Schema(description = "签发地代码")
    private String blIssuePlaceCode;

    @Schema(description = "签发地名称")
    private String blIssuePlaceName;

    @Schema(description = "集装箱明细信息")
    private Object containerInfo;

    @Schema(description = "提单备注")
    private String billRemark;

    @Schema(description = "截单状态。 0 截单待确认； 1 已截单； 3 截单更改； 4 AMS已申报； 5 已签发")
    private String siStatus;

    @Schema(description = "版本")
    private String version;

    @Schema(description = "操作人身份")
    private String operatorId;

    @Schema(description = "操作人姓名")
    private String userName;

    public String getOrderNo() {
        return orderNo;
    }

    public void setOrderNo(String orderNo) {
        this.orderNo = orderNo;
    }

    public String getSiNo() {
        return siNo;
    }

    public void setSiNo(String siNo) {
        this.siNo = siNo;
    }

    public String getBlNo() {
        return blNo;
    }

    public void setBlNo(String blNo) {
        this.blNo = blNo;
    }

    public String getCustomerNo() {
        return customerNo;
    }

    public void setCustomerNo(String customerNo) {
        this.customerNo = customerNo;
    }

    public String getShipper() {
        return shipper;
    }

    public void setShipper(String shipper) {
        this.shipper = shipper;
    }

    public String getConsignee() {
        return consignee;
    }

    public void setConsignee(String consignee) {
        this.consignee = consignee;
    }

    public String getNotify() {
        return notify;
    }

    public void setNotify(String notify) {
        this.notify = notify;
    }

    public String getOpRemark() {
        return opRemark;
    }

    public void setOpRemark(String opRemark) {
        this.opRemark = opRemark;
    }

    public Object getExtendInfo() {
        return extendInfo;
    }

    public void setExtendInfo(Object extendInfo) {
        this.extendInfo = extendInfo;
    }

    public String getPlaceOfReceiptCode() {
        return placeOfReceiptCode;
    }

    public void setPlaceOfReceiptCode(String placeOfReceiptCode) {
        this.placeOfReceiptCode = placeOfReceiptCode;
    }

    public String getPlaceOfReceiptName() {
        return placeOfReceiptName;
    }

    public void setPlaceOfReceiptName(String placeOfReceiptName) {
        this.placeOfReceiptName = placeOfReceiptName;
    }

    public String getPortOfLoadingCode() {
        return portOfLoadingCode;
    }

    public void setPortOfLoadingCode(String portOfLoadingCode) {
        this.portOfLoadingCode = portOfLoadingCode;
    }

    public String getPortOfLoadingName() {
        return portOfLoadingName;
    }

    public void setPortOfLoadingName(String portOfLoadingName) {
        this.portOfLoadingName = portOfLoadingName;
    }

    public String getPortOfTransshipmentCode() {
        return portOfTransshipmentCode;
    }

    public void setPortOfTransshipmentCode(String portOfTransshipmentCode) {
        this.portOfTransshipmentCode = portOfTransshipmentCode;
    }

    public String getPortOfTransshipmentName() {
        return portOfTransshipmentName;
    }

    public void setPortOfTransshipmentName(String portOfTransshipmentName) {
        this.portOfTransshipmentName = portOfTransshipmentName;
    }

    public String getPortOfDischargeCode() {
        return portOfDischargeCode;
    }

    public void setPortOfDischargeCode(String portOfDischargeCode) {
        this.portOfDischargeCode = portOfDischargeCode;
    }

    public String getPortOfDischargeName() {
        return portOfDischargeName;
    }

    public void setPortOfDischargeName(String portOfDischargeName) {
        this.portOfDischargeName = portOfDischargeName;
    }

    public String getPlaceOfDeliveryCode() {
        return placeOfDeliveryCode;
    }

    public void setPlaceOfDeliveryCode(String placeOfDeliveryCode) {
        this.placeOfDeliveryCode = placeOfDeliveryCode;
    }

    public String getPlaceOfDeliveryName() {
        return placeOfDeliveryName;
    }

    public void setPlaceOfDeliveryName(String placeOfDeliveryName) {
        this.placeOfDeliveryName = placeOfDeliveryName;
    }

    public String getDestinationCode() {
        return destinationCode;
    }

    public void setDestinationCode(String destinationCode) {
        this.destinationCode = destinationCode;
    }

    public String getDestinationName() {
        return destinationName;
    }

    public void setDestinationName(String destinationName) {
        this.destinationName = destinationName;
    }

    public Long getNoOfPackage() {
        return noOfPackage;
    }

    public void setNoOfPackage(Long noOfPackage) {
        this.noOfPackage = noOfPackage;
    }

    public String getPackageTypeCode() {
        return packageTypeCode;
    }

    public void setPackageTypeCode(String packageTypeCode) {
        this.packageTypeCode = packageTypeCode;
    }

    public String getPackageTypeName() {
        return packageTypeName;
    }

    public void setPackageTypeName(String packageTypeName) {
        this.packageTypeName = packageTypeName;
    }

    public BigDecimal getGrossWeight() {
        return grossWeight;
    }

    public void setGrossWeight(BigDecimal grossWeight) {
        this.grossWeight = grossWeight;
    }

    public BigDecimal getVolume() {
        return volume;
    }

    public void setVolume(BigDecimal volume) {
        this.volume = volume;
    }

    public String getMarksNo() {
        return marksNo;
    }

    public void setMarksNo(String marksNo) {
        this.marksNo = marksNo;
    }

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public String getHsCode() {
        return hsCode;
    }

    public void setHsCode(String hsCode) {
        this.hsCode = hsCode;
    }

    public String getDeliveryTermCode() {
        return deliveryTermCode;
    }

    public void setDeliveryTermCode(String deliveryTermCode) {
        this.deliveryTermCode = deliveryTermCode;
    }

    public String getDeliveryTermName() {
        return deliveryTermName;
    }

    public void setDeliveryTermName(String deliveryTermName) {
        this.deliveryTermName = deliveryTermName;
    }

    public String getPaymentMethodCode() {
        return paymentMethodCode;
    }

    public void setPaymentMethodCode(String paymentMethodCode) {
        this.paymentMethodCode = paymentMethodCode;
    }

    public String getPaymentMethodName() {
        return paymentMethodName;
    }

    public void setPaymentMethodName(String paymentMethodName) {
        this.paymentMethodName = paymentMethodName;
    }

    public String getPlaceOfPayCode() {
        return placeOfPayCode;
    }

    public void setPlaceOfPayCode(String placeOfPayCode) {
        this.placeOfPayCode = placeOfPayCode;
    }

    public String getPlaceOfPayName() {
        return placeOfPayName;
    }

    public void setPlaceOfPayName(String placeOfPayName) {
        this.placeOfPayName = placeOfPayName;
    }

    public String getDocumentTypeCode() {
        return documentTypeCode;
    }

    public void setDocumentTypeCode(String documentTypeCode) {
        this.documentTypeCode = documentTypeCode;
    }

    public String getDocumentTypeName() {
        return documentTypeName;
    }

    public void setDocumentTypeName(String documentTypeName) {
        this.documentTypeName = documentTypeName;
    }

    public String getBlIssuePlaceCode() {
        return blIssuePlaceCode;
    }

    public void setBlIssuePlaceCode(String blIssuePlaceCode) {
        this.blIssuePlaceCode = blIssuePlaceCode;
    }

    public String getBlIssuePlaceName() {
        return blIssuePlaceName;
    }

    public void setBlIssuePlaceName(String blIssuePlaceName) {
        this.blIssuePlaceName = blIssuePlaceName;
    }

    public Object getContainerInfo() {
        return containerInfo;
    }

    public void setContainerInfo(Object containerInfo) {
        this.containerInfo = containerInfo;
    }

    public String getBillRemark() {
        return billRemark;
    }

    public void setBillRemark(String billRemark) {
        this.billRemark = billRemark;
    }

    public String getSiStatus() {
        return siStatus;
    }

    public void setSiStatus(String siStatus) {
        this.siStatus = siStatus;
    }

    public String getVersion() {
        return version;
    }

    public void setVersion(String version) {
        this.version = version;
    }

    public String getOperatorId() {
        return operatorId;
    }

    public void setOperatorId(String operatorId) {
        this.operatorId = operatorId;
    }

    public String getUserName() {
        return userName;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }
}